package com.rdzn.mall.center.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: oms_order
 * @Author: jeecg-boot
 * @Date:   2020-08-27
 * @Version: V1.0
 */
@Data
@TableName("oms_order")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="oms_order对象", description="oms_order")
public class OmsOrder implements Serializable {
    private static final long serialVersionUID = 1L;

	/**订单id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "订单id")
    private java.lang.Integer id;
	/**memberId*/
	@Excel(name = "memberId", width = 15)
    @ApiModelProperty(value = "memberId")
    private java.lang.Integer memberId;
	/**couponId*/
	@Excel(name = "couponId", width = 15)
    @ApiModelProperty(value = "couponId")
    private java.lang.Integer couponId;
	/**订单编号*/
	@Excel(name = "订单编号", width = 15)
    @ApiModelProperty(value = "订单编号")
    private java.lang.String orderSn;
	/**用户帐号*/
	@Excel(name = "用户帐号", width = 15)
    @ApiModelProperty(value = "用户帐号")
    private java.lang.String memberUsername;
	/**订单总金额*/
	@Excel(name = "订单总金额", width = 15)
    @ApiModelProperty(value = "订单总金额")
    private java.math.BigDecimal totalAmount;
	/**应付金额（实际支付金额）*/
	@Excel(name = "应付金额（实际支付金额）", width = 15)
    @ApiModelProperty(value = "应付金额（实际支付金额）")
    private java.math.BigDecimal payAmount;
	/**运费金额*/
	@Excel(name = "运费金额", width = 15)
    @ApiModelProperty(value = "运费金额")
    private java.math.BigDecimal freightAmount;
	/**促销优化金额（促销价、满减、阶梯价）*/
	@Excel(name = "促销优化金额（促销价、满减、阶梯价）", width = 15)
    @ApiModelProperty(value = "促销优化金额（促销价、满减、阶梯价）")
    private java.math.BigDecimal promotionAmount;
	/**积分抵扣金额*/
	@Excel(name = "积分抵扣金额", width = 15)
    @ApiModelProperty(value = "积分抵扣金额")
    private java.math.BigDecimal integrationAmount;
	/**优惠券抵扣金额*/
	@Excel(name = "优惠券抵扣金额", width = 15)
    @ApiModelProperty(value = "优惠券抵扣金额")
    private java.math.BigDecimal couponAmount;
	/**管理员后台调整订单使用的折扣金额*/
	@Excel(name = "管理员后台调整订单使用的折扣金额", width = 15)
    @ApiModelProperty(value = "管理员后台调整订单使用的折扣金额")
    private java.math.BigDecimal discountAmount;
	/**支付方式：0->未支付；1->支付宝；2->微信*/
	@Excel(name = "支付方式：0->未支付；1->支付宝；2->微信", width = 15)
    @ApiModelProperty(value = "支付方式：0->未支付；1->支付宝；2->微信")
    private java.lang.Integer payType;
	/**订单来源：0->PC订单；1->app订单*/
	@Excel(name = "订单来源：0->PC订单；1->app订单", width = 15)
    @ApiModelProperty(value = "订单来源：0->PC订单；1->app订单")
    private java.lang.Integer sourceType;
	/**订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单*/
	@Excel(name = "订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单", width = 15)
    @ApiModelProperty(value = "订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单")
    private java.lang.Integer status;
	/**订单类型：0->正常订单；1->秒杀订单*/
	@Excel(name = "订单类型：0->正常订单；1->秒杀订单", width = 15)
    @ApiModelProperty(value = "订单类型：0->正常订单；1->秒杀订单")
    private java.lang.Integer orderType;
	/**物流公司(配送方式)*/
	@Excel(name = "物流公司(配送方式)", width = 15)
    @ApiModelProperty(value = "物流公司(配送方式)")
    private java.lang.String deliveryCompany;
	/**物流单号*/
	@Excel(name = "物流单号", width = 15)
    @ApiModelProperty(value = "物流单号")
    private java.lang.String deliverySn;
	/**自动确认时间（天）*/
	@Excel(name = "自动确认时间（天）", width = 15)
    @ApiModelProperty(value = "自动确认时间（天）")
    private java.lang.Integer autoConfirmDay;
	/**可以获得的积分*/
	@Excel(name = "可以获得的积分", width = 15)
    @ApiModelProperty(value = "可以获得的积分")
    private java.lang.Integer integration;
	/**可以活动的成长值*/
	@Excel(name = "可以活动的成长值", width = 15)
    @ApiModelProperty(value = "可以活动的成长值")
    private java.lang.Integer growth;
	/**活动信息*/
	@Excel(name = "活动信息", width = 15)
    @ApiModelProperty(value = "活动信息")
    private java.lang.String promotionInfo;
	/**发票类型：0->普通发票；1->专票*/
	@Excel(name = "发票类型：0->普通发票；1->专票", width = 15)
    @ApiModelProperty(value = "发票类型：0->普通发票；1->专票")
    private java.lang.Integer billType;
	/**公司类型：0->个人；1->公司*/
	@Excel(name = "公司类型", width = 15)
    @ApiModelProperty(value = "公司类型")
    private java.lang.Integer billHeaderType;
    /**发票抬头*/
    @Excel(name = "发票抬头", width = 15)
    @ApiModelProperty(value = "发票抬头")
    private java.lang.String billHeader;
	/**发票内容*/
	@Excel(name = "发票内容", width = 15)
    @ApiModelProperty(value = "发票内容")
    private java.lang.String billContent;
	/**收票人电话*/
	@Excel(name = "收票人电话", width = 15)
    @ApiModelProperty(value = "收票人电话")
    private java.lang.String billReceiverPhone;
	/**收票人邮箱*/
	@Excel(name = "收票人邮箱", width = 15)
    @ApiModelProperty(value = "收票人邮箱")
    private java.lang.String billReceiverEmail;
	/**收货人姓名*/
	@Excel(name = "收货人姓名", width = 15)
    @ApiModelProperty(value = "收货人姓名")
    private java.lang.String receiverName;
	/**收货人电话*/
	@Excel(name = "收货人电话", width = 15)
    @ApiModelProperty(value = "收货人电话")
    private java.lang.String receiverPhone;
	/**收货人邮编*/
	@Excel(name = "收货人邮编", width = 15)
    @ApiModelProperty(value = "收货人邮编")
    private java.lang.String receiverPostCode;
	/**省份/直辖市*/
	@Excel(name = "省份/直辖市", width = 15)
    @ApiModelProperty(value = "省份/直辖市")
    private java.lang.String receiverProvince;
	/**城市*/
	@Excel(name = "城市", width = 15)
    @ApiModelProperty(value = "城市")
    private java.lang.String receiverCity;
	/**区*/
	@Excel(name = "区", width = 15)
    @ApiModelProperty(value = "区")
    private java.lang.String receiverRegion;
	/**详细地址*/
	@Excel(name = "详细地址", width = 15)
    @ApiModelProperty(value = "详细地址")
    private java.lang.String receiverDetailAddress;
	/**订单备注*/
	@Excel(name = "订单备注", width = 15)
    @ApiModelProperty(value = "订单备注")
    private java.lang.String note;
	/**确认收货状态：0->未确认；1->已确认*/
	@Excel(name = "确认收货状态：0->未确认；1->已确认", width = 15)
    @ApiModelProperty(value = "确认收货状态：0->未确认；1->已确认")
    private java.lang.Integer confirmStatus;
	/**删除状态：0->未删除；1->已删除*/
	@Excel(name = "删除状态：0->未删除；1->已删除", width = 15)
    @ApiModelProperty(value = "删除状态：0->未删除；1->已删除")
    private java.lang.Integer deleteStatus;
	/**下单时使用的积分*/
	@Excel(name = "下单时使用的积分", width = 15)
    @ApiModelProperty(value = "下单时使用的积分")
    private java.lang.Integer useIntegration;
	/**支付时间*/
	@Excel(name = "支付时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "支付时间")
    private java.util.Date paymentTime;
	/**发货时间*/
	@Excel(name = "发货时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "发货时间")
    private java.util.Date deliveryTime;
	/**确认收货时间*/
	@Excel(name = "确认收货时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "确认收货时间")
    private java.util.Date receiveTime;
	/**评价时间*/
	@Excel(name = "评价时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "评价时间")
    private java.util.Date commentTime;
	/**修改时间*/
	@Excel(name = "修改时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date modifyTime;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
}
